\section{Gherkin Description Language}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}{Customers requirements}
\begin{center}
\includegraphics[scale=0.4]{images/requirements.png} 
\end{center}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}{Real examples}
    \textit{If a~customer enters a~credit card number that is not exactly 16 digits long, when submitting the form, it should be redisplayed with an error message advising for correction.}
    
  \begin{itemize}
  \item
    Let's establish communication by real examples
  \item 
	Let's use language and terminology making sense to customers
  \item
	Let's make it readable by a computer
  \end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{frame}{Executable specification}

\parbox[b]{\textwidth}{
\textbf{Feature}: Feedback when entering invalid credit card details\\

\textbf{Background}:\\
\textbf{Given} I have chosen some items to buy\\
\textbf{And} I am about to enter my credit card details\\

\textbf{Scenario}: Credit card number too short\\
\textbf{When} I enter a~card number that is only 15 digits long\\
\textbf{And} all the other details are correct\\
\textbf{And} I submit the form\\
\textbf{Then} the form should be redisplayed\\
\textbf{And} I should see a~message about correcting the number of digits}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}{Gherkin characteristics}
Why Gherkin language is used in this agile technique?
  \begin{itemize}
  \item lightweight
  \item structured
  \item readable
  \item understandable
  \item self-documenting
  \end{itemize}
\end{frame}
